package com.bjsxt.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.bjsxt.domain.SysRolePrivilege;
import com.bjsxt.dto.RolePrivilegesParam;
import com.bjsxt.model.SysMenuVo;

import java.util.List;

public interface SysRolePrivilegeService extends IService<SysRolePrivilege> {

    /**
     * 根据角色 id 查询菜单权限列表数据
     *
     * @param roleId 角色 id
     * @return 菜单权限列表数据
     */
    List<SysMenuVo> findSysMenuAndPrivileges(Long roleId);

    /**
     * 根据传入的权限数据对象进行权限的授予
     *
     * @param rolePrivilegesParam 权限数据对象
     * @return 是否授予成功 true: 成功 , false: 失败
     */
    boolean grantPrivileges(RolePrivilegesParam rolePrivilegesParam);

    /**
     * 根据角色 ID 删除角色权限数据
     *
     * @param roleId 角色 ID
     * @return true 删除成功 false 删除失败
     */
    boolean removeByRoleId(Long roleId);
}
